package com.anyou.mall.goo.specs.mapper;

import java.util.List;

import com.anyou.mall.goo.goods.vo.ShopNameListVo;
import com.anyou.mall.goo.specs.domain.SpeSpecs;
import com.anyou.mall.goo.specs.vo.SelectSpecsValueVo;
import com.anyou.mall.goo.specs.vo.SelectSpecsVo;
import com.anyou.mall.goo.specs.vo.ShopNameVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

/**
 * 规格管理Mapper接口
 *
 * @author ruoyi
 * @date 2022-03-25
 */
public interface SpeSpecsMapper extends BaseMapper<SpeSpecs>
{
    /**
     * 查询规格管理
     *
     * @param specsId 规格管理主键
     * @return 规格管理
     */
    public SpeSpecs selectSpeSpecsBySpecsId(Long specsId);

    /**
     * 查询规格管理列表
     *
     * @param speSpecs 规格管理
     * @return 规格管理集合
     */
    public List<SpeSpecs> selectSpeSpecsList(SpeSpecs speSpecs);

    /**
     * 新增规格管理
     *
     * @param speSpecs 规格管理
     * @return 结果
     */
    public int insertSpeSpecs(SpeSpecs speSpecs);

    /**
     * 修改规格管理
     *
     * @param speSpecs 规格管理
     * @return 结果
     */
    public int updateSpeSpecs(SpeSpecs speSpecs);

    /**
     * 删除规格管理
     *
     * @param specsId 规格管理主键
     * @return 结果
     */
    public int deleteSpeSpecsBySpecsId(Long specsId);

    /**
     * 批量删除规格管理
     *
     * @param specsIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSpeSpecsBySpecsIds(Long[] specsIds);

    /**
     * 查询店铺信息
     * @param storeId 商家id
     * @return
     */
     ShopNameVo selectShopName(Long storeId);

    /**
     * 查询规格值
     * @param specsId 规格id
     * @return
     */
     List<SelectSpecsValueVo> selectSpecsValue(Long specsId);

    /**
     * 新增规格
     * @param storeId
     * @param specsName
     * @return
     */
     int insertSpecs(@Param("storeId")Long storeId,@Param("specsName")String specsName);

    /**
     * 新增规格值
     * @param specsId
     * @param specsValue
     * @return
     */
    int speSpecsValue(@Param("specsId")Long specsId,@Param("specsValue")String specsValue);

    /**
     * 查询规格id
     * @param storeId
     * @param specsName
     * @return
     */
    SelectSpecsVo selectSpecsId(@Param("storeId")Long storeId,@Param("specsName") String specsName);


}
